home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-09-07 | 98.7 KB | 1,846 lines |
- = B =
- =====
-
- back door: n. A hole in the security of a system deliberately left
- in place by designers or maintainers. The motivation for this is
- not always sinister; some operating systems, for example, come out
- of the box with privileged accounts intended for use by field
- service technicians or the vendor's maintenance programmers.
-
- Historically, back doors have often lurked in systems longer than
- anyone expected or planned, and a few have become widely known.
- The infamous {RTM} worm of late 1988, for example, used a back door
- in the {BSD} UNIX `sendmail(8)' utility.
-
- Ken Thompson's 1983 Turing Award lecture to the ACM revealed the
- existence of a back door in early UNIX versions that may have
- qualified as the most fiendishly clever security hack of all time.
- The C compiler contained code that would recognize when the
- `login' command was being recompiled and insert some code
- recognizing a password chosen by Thompson, giving him entry to the
- system whether or not an account had been created for him.
-
- Normally such a back door could be removed by removing it from the
- source code for the compiler and recompiling the compiler. But to
- recompile the compiler, you have to *use* the compiler --- so
- Thompson also arranged that the compiler would *recognize when
- it was compiling a version of itself*, and insert into the
- recompiled compiler the code to insert into the recompiled `login'
- the code to allow Thompson entry --- and, of course, the code to
- recognize itself and do the whole thing again the next time around!
- And having done this once, he was then able to recompile the
- compiler from the original sources, leaving his back door in place
- and active but with no trace in the sources.
-
- The talk that revealed this truly moby hack was published as
- "Reflections on Trusting Trust", `Communications of the
- ACM 27', 8 (August 1984), pp. 761--763.
-
- Syn. {trap door}; may also be called a `wormhole'. See also
- {iron box}, {cracker}, {worm}, {logic bomb}.
-
- backbone cabal: n. A group of large-site administrators who pushed
- through the {Great Renaming} and reined in the chaos of {USENET}
- during most of the 1980s. The cabal {mailing list} disbanded in
- late 1988 after a bitter internal catfight, but the net hardly
- noticed.
-
- backbone site: n. A key USENET and email site; one that processes
- a large amount of third-party traffic, especially if it is the home
- site of any of the regional coordinators for the USENET maps.
- Notable backbone sites as of early 1991 include uunet and the
- mail machines at Rutgers University, UC Berkeley, DEC's Western
- Research Laboratories, Ohio State University, and the University of
- Texas. Compare {rib site}, {leaf site}.
-
- backgammon:: See {bignum}, {moby}, and {pseudoprime}.
-
- background: n.,adj.,vt. To do a task `in background' is to do
- it whenever {foreground} matters are not claiming your undivided
- attention, and `to background' something means to relegate it to
- a lower priority. "For now, we'll just print a list of nodes and
- links; I'm working on the graph-printing problem in background."
- Note that this implies ongoing activity but at a reduced level or
- in spare time, in contrast to mainstream `back burner' (which
- connotes benign neglect until some future resumption of activity).
- Some people prefer to use the term for processing that they have
- queued up for their unconscious minds (a tack that one can often
- fruitfully take upon encountering an obstacle in creative work).
- Compare {amp off}, {slopsucker}.
-
- Technically, a task running in background is detached from the
- terminal where it was started (and often running at a lower
- priority); oppose {foreground}. Nowadays this term is primarily
- associated with {{UNIX}}, but it appears to have been first used
- in this sense on OS/360.
-
- backspace and overstrike: interj. Whoa! Back up. Used to suggest
- that someone just said or did something wrong. Common among
- APL programmers.
-
- backward combatability: /bak'w*rd k*m-bat'*-bil'*-tee/ [from
- `backward compatibility'] n. A property of hardware or software
- revisions in which previous protocols, formats, and layouts are
- discarded in favor of `new and improved' protocols, formats, and
- layouts. Occurs usually when making the transition between major
- releases. When the change is so drastic that the old formats are
- not retained in the new version, it is said to be `backward
- combatable'. See {flag day}.
-
- BAD: /B-A-D/ [IBM: acronym, `Broken As Designed'] adj. Said
- of a program that is {bogus} because of bad design and misfeatures
- rather than because of bugginess. See {working as designed}.
-
- Bad Thing: [from the 1930 Sellar & Yeatman parody `1066 And
- All That'] n. Something that can't possibly result in improvement
- of the subject. This term is always capitalized, as in "Replacing
- all of the 9600-baud modems with bicycle couriers would be a Bad
- Thing". Oppose {Good Thing}. British correspondents confirm
- that {Bad Thing} and {Good Thing} (and prob. therefore {Right
- Thing} and {Wrong Thing}) come from the book referenced in the
- etymology, which discusses rulers who were Good Kings but Bad
- Things. This has apparently created a mainstream idiom on the
- British side of the pond.
-
- bag on the side: n. An extension to an established hack that is
- supposed to add some functionality to the original. Usually
- derogatory, implying that the original was being overextended and
- should have been thrown away, and the new product is ugly,
- inelegant, or bloated. Also v. phrase, `to hang a bag on the side
- [of]'. "C++? That's just a bag on the side of C ...." "They
- want me to hang a bag on the side of the accounting system."
-
- bagbiter: /bag'bi:t-*r/ n. 1. Something, such as a program or a
- computer, that fails to work, or works in a remarkably clumsy
- manner. "This text editor won't let me make a file with a line
- longer than 80 characters! What a bagbiter!" 2. A person who has
- caused you some trouble, inadvertently or otherwise, typically by
- failing to program the computer properly. Synonyms: {loser},
- {cretin}, {chomper}. 3. adj. `bagbiting' Having the
- quality of a bagbiter. "This bagbiting system won't let me
- compute the factorial of a negative number." Compare {losing},
- {cretinous}, {bletcherous}, `barfucious' (under
- {barfulous}) and `chomping' (under {chomp}). 4. `bite
- the bag' vi. To fail in some manner. "The computer keeps crashing
- every 5 minutes." "Yes, the disk controller is really biting the
- bag." The original loading of these terms was almost undoubtedly
- obscene, possibly referring to the scrotum, but in their current
- usage they have become almost completely sanitized.
-
- A program called Lexiphage on the old MIT AI PDP-10 would draw on
- a selected victim's bitmapped terminal the words "THE BAG" in
- ornate letters, and then a pair of jaws biting pieces of it off.
- This is the first and to date only known example of a program
- *intended* to be a bagbiter.
-
- bamf: /bamf/ 1. [from old X-Men comics] interj. Notional sound made
- by a person or object teleporting in or out of the hearer's
- vicinity. Often used in {virtual reality} (esp. {MUD})
- electronic {fora} when a character wishes to make a dramatic entrance
- or exit. 2. The sound of magical transformation, used in virtual
- reality {fora} like sense 1. 3. [from `Don Washington's
- Survival Guide'] n. Acronym for `Bad-Ass Mother Fucker', used to
- refer to one of the handful of nastiest monsters on an LPMUD or
- other similar MUD.
-
- banana label: n. The labels often used on the sides of {macrotape}
- reels, so called because they are shaped roughly like blunt-ended
- bananas. This term, like macrotapes themselves, is still current
- but visibly headed for obsolescence.
-
- banana problem: n. [from the story of the little girl who said "I
- know how to spell `banana', but I don't know when to stop"]. Not
- knowing where or when to bring a production to a close (compare
- {fencepost error}). One may say `there is a banana problem' of an
- algorithm with poorly defined or incorrect termination conditions,
- or in discussing the evolution of a design that may be succumbing
- to featuritis (see also {creeping elegance}, {creeping
- featuritis}). See item 176 under {HAKMEM}, which describes a
- banana problem in a {Dissociated Press} implementation.
-
- bandwidth: n. 1. Used by hackers in a generalization of its
- technical meaning as the volume of information per unit time that a
- computer, person, or transmission medium can handle. "Those are
- amazing graphics, but I missed some of the detail --- not enough
- bandwidth, I guess." Compare {low-bandwidth}. 2. Attention
- span. 3. On {USENET}, a measure of network capacity that is
- often wasted by people complaining about how items posted by others
- are a waste of bandwidth.
-
- bang: 1. n. Common spoken name for `!' (ASCII 0100001),
- especially when used in pronouncing a {bang path} in spoken
- hackish. In {elder days} this was considered a CMUish usage,
- with MIT and Stanford hackers preferring {excl} or {shriek};
- but the spread of UNIX has carried `bang' with it (esp. via the
- term {bang path}) and it is now certainly the most common spoken
- name for `!'. Note that it is used exclusively for
- non-emphatic written `!'; one would not say "Congratulations
- bang" (except possibly for humorous purposes), but if one wanted
- to specify the exact characters `foo!' one would speak "Eff oh oh
- bang". See {shriek}, {{ASCII}}. 2. interj. An exclamation
- signifying roughly "I have achieved enlightenment!", or "The
- dynamite has cleared out my brain!" Often used to acknowledge
- that one has perpetrated a {thinko} immediately after one has
- been called on it.
-
- bang on: vt. To stress-test a piece of hardware or software: "I
- banged on the new version of the simulator all day yesterday and it
- didn't crash once. I guess it is ready to release." The term
- {pound on} is synonymous.
-
- bang path: n. An old-style UUCP electronic-mail address specifying
- hops to get from some assumed-reachable location to the addressee,
- so called because each {hop} is signified by a {bang} sign.
- Thus, for example, the path ...!bigsite!foovax!barbox!me
- directs people to route their mail to machine bigsite (presumably
- a well-known location accessible to everybody) and from there
- through the machine foovax to the account of user me on
- barbox.
-
- In the bad old days of not so long ago, before autorouting mailers
- became commonplace, people often published compound bang addresses
- using the { } convention (see {glob}) to give paths from
- *several* big machines, in the hopes that one's correspondent
- might be able to get mail to one of them reliably (example:
- ...!{seismo, ut-sally, ihnp4}!rice!beta!gamma!me). Bang paths
- of 8 to 10 hops were not uncommon in 1981. Late-night dial-up
- UUCP links would cause week-long transmission times. Bang paths
- were often selected by both transmission time and reliability, as
- messages would often get lost. See {{Internet address}},
- {network, the}, and {sitename}.
-
- banner: n. 1. The title page added to printouts by most print
- spoolers (see {spool}). Typically includes user or account ID
- information in very large character-graphics capitals. Also called
- a `burst page', because it indicates where to burst (tear apart)
- fanfold paper to separate one user's printout from the next. 2. A
- similar printout generated (typically on multiple pages of fan-fold
- paper) from user-specified text, e.g., by a program such as UNIX's
- `banner({1,6})'. 3. On interactive software, a first screen
- containing a logo and/or author credits and/or a copyright notice.
-
- bar: /bar/ n. 1. The second metasyntactic variable, after {foo}
- and before {baz}. "Suppose we have two functions: FOO and BAR.
- FOO calls BAR...." 2. Often appended to {foo} to produce
- {foobar}.
-
- bare metal: n. 1. New computer hardware, unadorned with such
- snares and delusions as an {operating system}, an {HLL}, or
- even assembler. Commonly used in the phrase `programming on the
- bare metal', which refers to the arduous work of {bit bashing}
- needed to create these basic tools for a new machine. Real
- bare-metal programming involves things like building boot proms and
- BIOS chips, implementing basic monitors used to test device
- drivers, and writing the assemblers that will be used to write the
- compiler back ends that will give the new machine a real
- development environment. 2. `Programming on the bare metal' is
- also used to describe a style of {hand-hacking} that relies on
- bit-level peculiarities of a particular hardware design, esp.
- tricks for speed and space optimization that rely on crocks such as
- overlapping instructions (or, as in the famous case described in
- appendix A, interleaving of opcodes on a magnetic drum to minimize
- fetch delays due to the device's rotational latency). This sort of
- thing has become less common as the relative costs of programming
- time and machine resources have changed, but is still found in
- heavily constrained environments such as industrial embedded systems.
- See {real programmer}.
-
- In the world of personal computing, bare metal programming (especially
- in sense 1 but sometimes also in sense 2) is often considered a
- {Good Thing}, or at least a necessary thing (because these
- machines have often been sufficiently slow and poorly designed
- to make it necessary; see {ill-behaved}). There, the term
- usually refers to bypassing the BIOS or OS interface and writing
- the application to directly access device registers and machine
- addresses. "To get 19.2 kilobaud on the serial port, you need to
- get down to the bare metal." People who can do this sort of thing
- are held in high regard.
-
- barf: /barf/ [from mainstream slang meaning `vomit']
- 1. interj. Term of disgust. This is the closest hackish
- equivalent of the Val\-speak "gag me with a spoon". (Like, euwww!)
- See {bletch}. 2. vi. To say "Barf!" or emit some similar
- expression of disgust. "I showed him my latest hack and he
- barfed" means only that he complained about it, not that he
- literally vomited. 3. vi. To fail to work because of unacceptable
- input. May mean to give an error message. Examples: "The
- division operation barfs if you try to divide by 0." (That is,
- the division operation checks for an attempt to divide by zero, and
- if one is encountered it causes the operation to fail in some
- unspecified, but generally obvious, manner.) "The text editor
- barfs if you try to read in a new file before writing out the old
- one." See {choke}, {gag}. In Commonwealth hackish,
- `barf' is generally replaced by `puke' or `vom'. {barf}
- is sometimes also used as a metasyntactic variable, like {foo} or
- {bar}.
-
- barfulation: /bar`fyoo-lay'sh*n/ interj. Variation of {barf}
- used around the Stanford area. An exclamation, expressing disgust.
- On seeing some particularly bad code one might exclaim,
- "Barfulation! Who wrote this, Quux?"
-
- barfulous: /bar'fyoo-l*s/ adj. (alt. `barfucious',
- /bar-fyoo-sh*s/) Said of something that would make anyone barf,
- if only for esthetic reasons.
-
- baroque: adj. Feature-encrusted; complex; gaudy; verging on
- excessive. Said of hardware or (esp.) software designs, this has
- many of the connotations of {elephantine} or {monstrosity} but is
- less extreme and not pejorative in itself. "Metafont even has
- features to introduce random variations to its letterform output.
- Now *that* is baroque!" See also {rococo}.
-
- BartleMUD: /bar'tl-muhd/ n. Any of the MUDs derived from the
- original MUD game by Richard Bartle (see {MUD}). BartleMUDs are
- noted for their (usually slightly offbeat) humor, dry but friendly
- syntax, and lack of adjectives in object descriptions, so a player
- is likely to come across `brand172', for instance (see {brand
- brand brand}). Some MUDders intensely dislike Bartle and this
- term, and prefer to speak of `MUD-1'.
-
- BASIC: n. A programming language, originally designed for
- Dartmouth's experimental timesharing system in the
- early 1960s, which has since become the leading cause of
- brain-damage in proto-hackers. This is another case (like
- {Pascal}) of the bad things that happen when a language
- deliberately designed as an educational toy gets taken too
- seriously. A novice can write short BASIC programs (on the order of
- 10--20 lines) very easily; writing anything longer is (a) very
- painful, and (b) encourages bad habits that will bite him/her later
- if he/she tries to hack in a real language. This wouldn't be so
- bad if historical accidents hadn't made BASIC so common on low-end
- micros. As it is, it ruins thousands of potential wizards a year.
-
- batch: adj. 1. Non-interactive. Hackers use this somewhat more
- loosely than the traditional technical definitions justify; in
- particular, switches on a normally interactive program that prepare
- it to receive non-interactive command input are often referred to
- as `batch mode' switches. A `batch file' is a series of
- instructions written to be handed to an interactive program running
- in batch mode. 2. Performance of dreary tasks all at one sitting.
- "I finally sat down in batch mode and wrote out checks for all
- those bills; I guess they'll turn the electricity back on next
- week..." 3. Accumulation of a number of small tasks that can be
- lumped together for greater efficiency. "I'm batching up those
- letters to send sometime" "I'm batching up bottles to take to the
- recycling center."
-
- bathtub curve: n. Common term for the curve (resembling an
- end-to-end section of one of those claw-footed antique bathtubs)
- that describes the expected failure rate of electronics with time:
- initially high, dropping to near 0 for most of the system's
- lifetime, then rising again as it `tires out'. See also {burn-in
- period}, {infant mortality}.
-
- baud: /bawd/ [simplified from its technical meaning] n. Bits per
- second. Hence kilobaud or Kbaud, thousands of bits per second.
- The technical meaning is `level transitions per second'; this
- coincides with bps only for two-level modulation with no framing or
- stop bits. Most hackers are aware of these nuances but blithely
- ignore them.
-
- baud barf: /bawd barf/ n. The garbage one gets on the monitor
- when using a modem connection with some protocol setting (esp.
- line speed) incorrect, or when someone picks up a voice extension
- on the same line, or when really bad line noise disrupts the
- connection. Baud barf is not completely {random}, by the way;
- hackers with a lot of serial-line experience can usually tell
- whether the device at the other end is expecting a higher or lower
- speed than the terminal is set to. *Really* experienced ones
- can identify particular speeds.
-
- baz: /baz/ [Stanford: corruption of {bar}] n. 1. The third
- metasyntactic variable, after {foo} and {bar} and before
- {quux} (or, occasionally, `qux'; or local idiosyncracies like
- `rag', `zowie', etc.). "Suppose we have three functions: FOO,
- BAR, and BAZ. FOO calls BAR, which calls BAZ...."
- 2. interj. A term of mild annoyance. In this usage the term is
- often drawn out for 2 or 3 seconds, producing an effect not unlike
- the bleating of a sheep; /baaaaaaz/. 3. Occasionally appended to
- {foo} to produce `foobaz'.
-
- bboard: /bee'bord/ [contraction of `bulletin board'] n.
- 1. Any electronic bulletin board; esp. used of {BBS} systems
- running on personal micros, less frequently of a USENET
- {newsgroup} (in fact, use of the term for a newsgroup generally
- marks one either as a {newbie} fresh in from the BBS world or as
- a real old-timer predating USENET). 2. At CMU and other colleges
- with similar facilities, refers to campus-wide electronic bulletin
- boards. 3. The term `physical bboard' is sometimes used to
- refer to a old-fashioned, non-electronic cork memo board. At CMU,
- it refers to a particular one outside the CS Lounge.
-
- In either of senses 1 or 2, the term is usually prefixed by the
- name of the intended board (`the Moonlight Casino bboard' or
- `market bboard'); however, if the context is clear, the better-read
- bboards may be referred to by name alone, as in (at CMU) "Don't
- post for-sale ads on general".
-
- BBS: /B-B-S/ [acronym, `Bulletin Board System'] n. An electronic
- bulletin board system; that is, a message database where people can
- log in and leave broadcast messages for others grouped (typically)
- into {topic group}s. Thousands of local BBS systems are in
- operation throughout the U.S., typically run by amateurs for fun
- out of their homes on MS-DOS boxes with a single modem line each.
- Fans of USENET and Internet or the big commercial timesharing
- bboards such as CompuServe and GEnie tend to consider local BBSes
- the low-rent district of the hacker culture, but they serve a
- valuable function by knitting together lots of hackers and users in
- the personal-micro world who would otherwise be unable to exchange
- code at all.
-
- beam: [from Star Trek Classic's "Beam me up, Scotty!"] vt. To
- transfer {softcopy} of a file electronically; most often in
- combining forms such as `beam me a copy' or `beam that over to
- his site'. Compare {blast}, {snarf}, {BLT}.
-
- beanie key: [Mac users] n. See {command key}.
-
- beep: n.,v. Syn. {feep}. This term seems to be preferred among micro
- hobbyists.
-
- beige toaster: n. A Macintosh. See {toaster}; compare
- {Macintrash}, {maggotbox}.
-
- bells and whistles: [by analogy with the toyboxes on theater
- organs] n. Features added to a program or system to make it more
- {flavorful} from a hacker's point of view, without necessarily
- adding to its utility for its primary function. Distinguished from
- {chrome}, which is intended to attract users. "Now that we've
- got the basic program working, let's go back and add some bells and
- whistles." No one seems to know what distinguishes a bell from a
- whistle.
-
- bells, whistles, and gongs: n. A standard elaborated form of
- {bells and whistles}; typically said with a pronounced and ironic
- accent on the `gongs'.
-
- benchmark: [techspeak] n. An inaccurate measure of computer
- performance. "In the computer industry, there are three kinds of
- lies: lies, damn lies, and benchmarks." Well-known ones include
- Whetstone, Dhrystone, Rhealstone (see {h}), the Gabriel LISP
- benchmarks (see {gabriel}), the SPECmark suite, and LINPACK. See
- also {machoflops}, {MIPS}.
-
- Berkeley Quality Software: adj. (often abbreviated `BQS') Term used
- in a pejorative sense to refer to software that was apparently
- created by rather spaced-out hackers late at night to solve some
- unique problem. It usually has nonexistent, incomplete, or
- incorrect documentation, has been tested on at least two examples,
- and core dumps when anyone else attempts to use it. This term was
- frequently applied to early versions of the `dbx(1)' debugger.
- See also {Berzerkeley}.
-
- berklix: /berk'liks/ n.,adj. [contraction of `Berkeley UNIX'] See
- {BSD}. Not used at Berkeley itself. May be more common among
- {suit}s attempting to sound like cognoscenti than among hackers,
- who usually just say `BSD'.
-
- berserking: vi. A {MUD} term meaning to gain points *only*
- by killing other players and mobiles (non-player characters).
- Hence, a Berserker-Wizard is a player character that has achieved
- enough points to become a wizard, but only by killing other
- characters. Berserking is sometimes frowned upon because of its
- inherently antisocial nature, but some MUDs have a `berserker
- mode' in which a player becomes *permanently* berserk, can
- never flee from a fight, cannot use magic, gets no score for
- treasure, but does get double kill points. "Berserker
- wizards can seriously damage your elf!"
-
- Berzerkeley: /b*r-zer'klee/ [from `berserk', via the name of a
- now-deceased record label] n. Humorous distortion of `Berkeley'
- used esp. to refer to the practices or products of the
- {BSD} UNIX hackers. See {software bloat}, {Missed'em-five},
- {Berkeley Quality Software}.
-
- Mainstream use of this term in reference to the cultural and
- political peculiarities of UC Berkeley as a whole has been reported
- from as far back as the 1960s.
-
- beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n. 1. In
- the {Real World}, software often goes through two stages of
- testing: Alpha (in-house) and Beta (out-house?). Software is said
- to be `in beta'. 2. Anything that is new and experimental is in
- beta. "His girlfriend is in beta" means that he is still testing
- for compatibility and reserving judgment. 3. Beta software is
- notoriously buggy, so `in beta' connotes flakiness.
-
- Historical note: More formally, to beta-test is to test a
- pre-release (potentially unreliable) version of a piece of software
- by making it available to selected customers and users. This term
- derives from early 1960s terminology for product cycle checkpoints,
- first used at IBM but later standard throughout the industry.
- `Alpha Test' was the unit, module, or component test phase; `Beta
- Test' was initial system test. These themselves came from earlier
- A- and B-tests for hardware. The A-test was a feasibility and
- manufacturability evaluation done before any commitment to design
- and development. The B-test was a demonstration that the
- engineering model functioned as specified. The C-test
- (corresponding to today's beta) was the B-test performed on early
- samples of the production design.
-
- BFI: /B-F-I/ n. See {brute force and ignorance}. Also
- encountered in the variant `BFMI', `brute force and
- *massive* ignorance'.
-
- bible: n. 1. One of a small number of fundamental source books
- such as {Knuth} and {K&R}. 2. The most detailed and
- authoritative reference for a particular language, operating
- system, or other complex software system.
-
- BiCapitalization: n. The act said to have been performed on
- trademarks (such as NeXT, {NeWS}, VisiCalc, FrameMaker,
- TK!solver, EasyWriter) that have been raised above the ruck of
- common coinage by nonstandard capitalization. Too many
- {marketroid} types think this sort of thing is really cute, even
- the 2,317th time they do it. Compare {studlycaps}.
-
- BIFF: /bif/ [USENET] n. The most famous {pseudo}, and the
- prototypical {newbie}. Articles from BIFF are characterized by
- all uppercase letters sprinkled liberally with bangs, typos,
- `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ HE"S A K00L
- DOOD AN HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE
- THIS!!!), use (and often misuse) of fragments of {talk mode}
- abbreviations, a long {sig block} (sometimes even a {doubled
- sig}), and unbounded na"ivet'e. BIFF posts articles using his elder
- brother's VIC-20. BIFF's location is a mystery, as his articles
- appear to come from a variety of sites. However, {BITNET} seems to
- be the most frequent origin. The theory that BIFF is a denizen of
- BITNET is supported by BIFF's (unfortunately invalid) electronic
- mail address: BIFF@BIT.NET.
-
- biff: /bif/ vt. To notify someone of incoming mail. From the
- BSD utility `biff(1)', which was in turn named after the
- implementor's dog (it barked whenever the mailman came). No
- relation to {BIFF}.
-
- Big Gray Wall: n. What faces a {VMS} user searching for
- documentation. A full VMS kit comes on a pallet, the documentation
- taking up around 15 feet of shelf space before the addition of layered
- products such as compilers, databases, multivendor networking,
- and programming tools. Recent (since VMS version 5) DEC
- documentation comes with gray binders; under VMS version 4 the
- binders were orange (`big orange wall'), and under version 3
- they were blue. See {VMS}.
-
- big iron: n. Large, expensive, ultra-fast computers. Used generally
- of {number-crunching} supercomputers such as Crays, but can include
- more conventional big commercial IBMish mainframes. Term of
- approval; compare {heavy metal}, oppose {dinosaur}.
-
- Big Red Switch: [IBM] n. The power switch on a computer, esp. the
- `Emergency Pull' switch on an IBM {mainframe} or the power switch
- on an IBM PC where it really is large and red. "This !@%$%
- {bitty box} is hung again; time to hit the Big Red Switch."
- Sources at IBM report that, in tune with the company's passion for
- {TLA}s, this is often acronymized as `BRS' (this has also
- become established on FidoNet and in the PC {clone} world). It
- is alleged that the emergency pull switch on an IBM 360/91 actually
- fired a non-conducting bolt into the main power feed; the BRSes on
- more recent machines physically drop a block into place so that
- they can't be pushed back in. People get fired for pulling them,
- especially inappropriately (see also {molly-guard}). Compare
- {power cycle}, {three-finger salute}, {120 reset}.
-
- Big Room, the: n. The extremely large room with the blue ceiling
- and intensely bright light (during the day) or black ceiling with
- lots of tiny night-lights (during the night) found outside all
- computer installations. "He can't come to the phone right now,
- he's somewhere out in the Big Room."
-
- big win: n. Serendipity. "Yes, those two physicists discovered
- high-temperature superconductivity in a batch of ceramic that had
- been prepared incorrectly according to their experimental schedule.
- Small mistake; big win!" See {win big}.
-
- big-endian: [From Swift's `Gulliver's Travels' via the famous
- paper `On Holy Wars and a Plea for Peace' by Danny Cohen,
- USC/ISI IEN 137, dated April 1, 1980] adj. 1. Describes a computer
- architecture in which, within a given multi-byte numeric
- representation, the most significant byte has the lowest address
- (the word is stored `big-end-first'). Most processors, including
- the IBM 370 family, the {PDP-10}, the Motorola microprocessor
- families, and most of the various RISC designs current in mid-1991,
- are big-endian. See {little-endian}, {middle-endian}, {NUXI
- problem}. 2. An {{Internet address}} the wrong way round. Most
- of the world follows the Internet standard and writes email
- addresses starting with the name of the computer and ending up with
- the name of the country. In the U.K. the Joint Networking Team had
- decided to do it the other way round before the Internet domain
- standard was established; e.g., me@uk.ac.wigan.cs. Most gateway
- sites have {ad-hockery} in their mailers to handle this, but can
- still be confused. In particular, the address above could be in the
- U.K. (domain uk) or Czechoslovakia (domain cs).
-
- bignum: /big'nuhm/ [orig. from MIT MacLISP] n. 1. [techspeak] A
- multiple-precision computer representation for very large integers.
- More generally, any very large number. "Have you ever looked at
- the United States Budget? There's bignums for you!"
- 2. [Stanford] In backgammon, large numbers on the dice are called
- `bignums', especially a roll of double fives or double sixes
- (compare {moby}, sense 4). See also {El Camino Bignum}.
-
- Sense 1 may require some explanation. Most computer languages
- provide a kind of data called `integer', but such computer
- integers are usually very limited in size; usually they must be
- smaller than than 2^{31} (2,147,483,648) or (on a losing
- {bitty box}) 2^{15} (32,768). If you want to work with
- numbers larger than that, you have to use floating-point numbers,
- which are usually accurate to only six or seven decimal places.
- Computer languages that provide bignums can perform exact
- calculations on very large numbers, such as 1000! (the factorial
- of 1000, which is 1000 times 999 times 998 times ... times 2
- times 1). For example, this value for 1000! was computed by the
- MacLISP system using bignums:
-
- 40238726007709377354370243392300398571937486421071
- 46325437999104299385123986290205920442084869694048
- 00479988610197196058631666872994808558901323829669
- 94459099742450408707375991882362772718873251977950
- 59509952761208749754624970436014182780946464962910
- 56393887437886487337119181045825783647849977012476
- 63288983595573543251318532395846307555740911426241
- 74743493475534286465766116677973966688202912073791
- 43853719588249808126867838374559731746136085379534
- 52422158659320192809087829730843139284440328123155
- 86110369768013573042161687476096758713483120254785
- 89320767169132448426236131412508780208000261683151
- 02734182797770478463586817016436502415369139828126
- 48102130927612448963599287051149649754199093422215
- 66832572080821333186116811553615836546984046708975
- 60290095053761647584772842188967964624494516076535
- 34081989013854424879849599533191017233555566021394
- 50399736280750137837615307127761926849034352625200
- 01588853514733161170210396817592151090778801939317
- 81141945452572238655414610628921879602238389714760
- 88506276862967146674697562911234082439208160153780
- 88989396451826324367161676217916890977991190375403
- 12746222899880051954444142820121873617459926429565
- 81746628302955570299024324153181617210465832036786
- 90611726015878352075151628422554026517048330422614
- 39742869330616908979684825901254583271682264580665
- 26769958652682272807075781391858178889652208164348
- 34482599326604336766017699961283186078838615027946
- 59551311565520360939881806121385586003014356945272
- 24206344631797460594682573103790084024432438465657
- 24501440282188525247093519062092902313649327349756
- 55139587205596542287497740114133469627154228458623
- 77387538230483865688976461927383814900140767310446
- 64025989949022222176590433990188601856652648506179
- 97023561938970178600408118897299183110211712298459
- 01641921068884387121855646124960798722908519296819
- 37238864261483965738229112312502418664935314397013
- 74285319266498753372189406942814341185201580141233
- 44828015051399694290153483077644569099073152433278
- 28826986460278986432113908350621709500259738986355
- 42771967428222487575867657523442202075736305694988
- 25087968928162753848863396909959826280956121450994
- 87170124451646126037902930912088908694202851064018
- 21543994571568059418727489980942547421735824010636
- 77404595741785160829230135358081840096996372524230
- 56085590370062427124341690900415369010593398383577
- 79394109700277534720000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000
- 000000000000000000.
-
- bigot: n. A person who is religiously attached to a particular
- computer, language, operating system, editor, or other tool (see
- {religious issues}). Usually found with a specifier; thus,
- `cray bigot', {ITS bigot}, `APL bigot', `VMS bigot',
- {Berkeley bigot}. True bigots can be distinguished from mere
- partisans or zealots by the fact that they refuse to learn
- alternatives even when the march of time and/or technology is
- threatening to obsolete the favored tool. It is said "You can
- tell a bigot, but you can't tell him much." Compare
- {weenie}.
-
- bit: [from the mainstream meaning and `Binary digIT'] n.
- 1. [techspeak] The unit of information; the amount of information
- obtained by asking a yes-or-no question for which the two outcomes
- are equally probable. 2. [techspeak] A computational quantity that
- can take on one of two values, such as true and false or 0 and 1.
- 3. A mental flag: a reminder that something should be done
- eventually. "I have a bit set for you." (I haven't seen you for
- a while, and I'm supposed to tell or ask you something.) 4. More
- generally, a (possibly incorrect) mental state of belief. "I have
- a bit set that says that you were the last guy to hack on EMACS."
- (Meaning "I think you were the last guy to hack on EMACS, and what
- I am about to say is predicated on this, so please stop me if this
- isn't true.")
-
- "I just need one bit from you" is a polite way of indicating that
- you intend only a short interruption for a question that can
- presumably be answered yes or no.
-
- A bit is said to be `set' if its value is true or 1, and
- `reset' or `clear' if its value is false or 0. One
- speaks of setting and clearing bits. To {toggle} or
- `invert' a bit is to change it, either from 0 to 1 or from
- 1 to 0. See also {flag}, {trit}, {mode bit}.
-
- bit bang: n. Transmission of data on a serial line, when
- accomplished by rapidly tweaking a single output bit at the
- appropriate times. The technique is a simple
- loop with eight OUT and SHIFT instruction pairs for each byte.
- Input is more interesting. And full duplex (doing input and output
- at the same time) is one way to separate the real hackers from the
- {wannabee}s.
-
- Bit bang was used on certain early models of Prime computers,
- presumably when UARTs were too expensive, and on archaic Z80 micros
- with a Zilog PIO but no SIO. In an interesting instance of the
- {cycle of reincarnation}, this technique is now (1991) coming
- back into use on some RISC architectures because it consumes such
- an infinitesimal part of the processor that it actually makes sense
- not to have a UART.
-
- bit bashing: n. (alt. `bit diddling' or {bit twiddling}) Term
- used to describe any of several kinds of low-level programming
- characterized by manipulation of {bit}, {flag}, {nybble},
- and other smaller-than-character-sized pieces of data; these
- include low-level device control, encryption algorithms, checksum
- and error-correcting codes, hash functions, some flavors of
- graphics programming (see {bitblt}), and assembler/compiler code
- generation. May connote either tedium or a real technical
- challenge (more usually the former). "The command decoding for
- the new tape driver looks pretty solid but the bit-bashing for the
- control registers still has bugs." See also {bit bang},
- {mode bit}.
-
- bit bucket: n. 1. The universal data sink (originally, the
- mythical receptacle used to catch bits when they fall off the end
- of a register during a shift instruction). Discarded, lost, or
- destroyed data is said to have `gone to the bit bucket'. On {{UNIX}},
- often used for {/dev/null}. Sometimes amplified as `the Great
- Bit Bucket in the Sky'. 2. The place where all lost mail and news
- messages eventually go. The selection is performed according to
- {Finagle's Law}; important mail is much more likely to end up in
- the bit bucket than junk mail, which has an almost 100% probability
- of getting delivered. Routing to the bit bucket is automatically
- performed by mail-transfer agents, news systems, and the lower
- layers of the network. 3. The ideal location for all unwanted mail
- responses: "Flames about this article to the bit bucket."
- Such a request is guaranteed to overflow one's mailbox with flames.
- 4. Excuse for all mail that has not been sent. "I mailed you
- those figures last week; they must have ended in the bit bucket."
- Compare {black hole}.
-
- This term is used purely in jest. It is based on the fanciful
- notion that bits are objects that are not destroyed but only
- misplaced. This appears to have been a mutation of an earlier term
- `bit box', about which the same legend was current; old-time
- hackers also report that trainees used to be told that when the CPU
- stored bits into memory it was actually pulling them `out of the
- bit box'. See also {chad box}.
-
- Another variant of this legend has it that, as a consequence of the
- `parity preservation law', the number of 1 bits that go to the bit
- bucket must equal the number of 0 bits. Any imbalance results in
- bits filling up the bit bucket. A qualified computer technician
- can empty a full bit bucket as part of scheduled maintenance.
-
- bit decay: n. See {bit rot}. People with a physics background
- tend to prefer this one for the analogy with particle decay. See
- also {computron}, {quantum bogodynamics}.
-
- bit rot: n. Also {bit decay}. Hypothetical disease the existence
- of which has been deduced from the observation that unused programs
- or features will often stop working after sufficient time has
- passed, even if `nothing has changed'. The theory explains that
- bits decay as if they were radioactive. As time passes, the
- contents of a file or the code in a program will become
- increasingly garbled.
-
- There actually are physical processes that produce such effects
- (alpha particles generated by trace radionuclides in ceramic chip
- packages, for example, can change the contents of a computer memory
- unpredictably, and various kinds of subtle media failures can
- corrupt files in mass storage), but they are quite rare (and
- computers are built with error-detecting circuitry to compensate
- for them). The notion long favored among hackers that cosmic
- rays are among the causes of such events turns out to be a myth;
- see the {cosmic rays} entry for details.
-
- The term {software rot} is almost synonymous. Software rot is
- the effect, bit rot the notional cause.
-
- bit twiddling: n. 1. (pejorative) An exercise in {tuning} in
- which incredible amounts of time and effort go to produce little
- noticeable improvement, often with the result that the code has
- become incomprehensible. 2. Aimless small modification to a
- program, esp. for some pointless goal. 3. Approx. syn. for {bit
- bashing}; esp. used for the act of frobbing the device control
- register of a peripheral in an attempt to get it back to a known
- state.
-
- bit-paired keyboard: n. obs. (alt. `bit-shift keyboard') A
- non-standard keyboard layout that seems to have originated with
- the Teletype ASR-33 and remained common for several years on early
- computer equipment. The ASR-33 was a mechanical device (see
- {EOU}), so the only way to generate the character codes from
- keystrokes was by some physical linkage. The design of the ASR-33
- assigned each character key a basic pattern that could be modified
- by flipping bits if the SHIFT or the CTRL key was pressed. In order
- to avoid making the thing more of a Rube Goldberg kluge than it
- already was, the design had to group characters that shared the
- same basic bit pattern on one key.
-
- Looking at the ASCII chart, we find:
-
- high low bits
- bits 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
- 010 ! " # $ % & ' ( )
- 011 0 1 2 3 4 5 6 7 8 9
-
- This is why the characters !"#$%&'() appear where they do on a
- Teletype (thankfully, they didn't use shift-0 for space). This was
- *not* the weirdest variant of the {QWERTY} layout widely
- seen, by the way; that prize should probably go to one of several
- (differing) arrangements on IBM's even clunkier 026 and 029 card
- punches.
-
- When electronic terminals became popular, in the early 1970s, there
- was no agreement in the industry over how the keyboards should be
- laid out. Some vendors opted to emulate the Teletype keyboard,
- while others used the flexibility of electronic circuitry to make
- their product look like an office typewriter. These alternatives
- became known as `bit-paired' and `typewriter-paired' keyboards. To
- a hacker, the bit-paired keyboard seemed far more logical --- and
- because most hackers in those days had never learned to touch-type,
- there was little pressure from the pioneering users to adapt
- keyboards to the typewriter standard.
-
- The doom of the bit-paired keyboard was the large-scale
- introduction of the computer terminal into the normal office
- environment, where out-and-out technophobes were expected to use
- the equipment. The `typewriter-paired' standard became universal,
- `bit-paired' hardware was quickly junked or relegated to dusty
- corners, and both terms passed into disuse.
-
- bitblt: /bit'blit/ n. [from {BLT}, q.v.] 1. Any of a family
- of closely related algorithms for moving and copying rectangles of
- bits between main and display memory on a bit-mapped device, or
- between two areas of either main or display memory (the requirement
- to do the {Right Thing} in the case of overlapping source and
- destination rectangles is what makes BitBlt tricky). 2. Synonym
- for {blit} or {BLT}. Both uses are borderline techspeak.
-
- BITNET: /bit'net/ [acronym: Because It's Time NETwork] n.
- Everybody's least favorite piece of the network (see {network,
- the}). The BITNET hosts are a collection of IBM dinosaurs and
- VAXen (the latter with lobotomized comm hardware) that communicate
- using 80-character {{EBCDIC}} card images (see {eighty-column
- mind}); thus, they tend to mangle the headers and text of
- third-party traffic from the rest of the ASCII/RFC-822 world with
- annoying regularity. BITNET is also notorious as the apparent home
- of {BIFF}.
-
- bits: n.pl. 1. Information. Examples: "I need some bits about file
- formats." ("I need to know about file formats.") Compare {core
- dump}, sense 4. 2. Machine-readable representation of a document,
- specifically as contrasted with paper: "I have only a photocopy
- of the Jargon File; does anyone know where I can get the bits?".
- See {softcopy}, {source of all good bits} See also {bit}.
-
- bitty box: /bit'ee boks/ n. 1. A computer sufficiently small,
- primitive, or incapable as to cause a hacker acute claustrophobia
- at the thought of developing software for it. Especially used of
- small, obsolescent, single-tasking-only personal machines such as
- the Atari 800, Osborne, Sinclair, VIC-20, TRS-80, or IBM PC.
- 2. [Pejorative] More generally, the opposite of `real computer'
- (see {Get a real computer!}). See also {mess-dos},
- {toaster}, and {toy}.
-
- bixie: /bik'see/ n. Variant {emoticon}s used on BIX (the Byte
- Information eXchange). The {smiley} bixie is <@_@>, apparently
- intending to represent two cartoon eyes and a mouth. A few others
- have been reported.
-
- black art: n. A collection of arcane, unpublished, and (by
- implication) mostly ad-hoc techniques developed for a particular
- application or systems area (compare {black magic}). VLSI design
- and compiler code optimization were (in their beginnings)
- considered classic examples of black art; as theory developed they
- became {deep magic}, and once standard textbooks had been written,
- became merely {heavy wizardry}. The huge proliferation of formal
- and informal channels for spreading around new computer-related
- technologies during the last twenty years has made both the term
- `black art' and what it describes less common than formerly. See
- also {voodoo programming}.
-
- black hole: n. When a piece of email or netnews disappears
- mysteriously between its origin and destination sites (that is,
- without returning a {bounce message}) it is commonly said to have
- `fallen into a black hole'. "I think there's a black hole at
- foovax!" conveys suspicion that site foovax has been dropping
- a lot of stuff on the floor lately (see {drop on the floor}).
- The implied metaphor of email as interstellar travel is interesting
- in itself. Compare {bit bucket}.
-
- black magic: n. A technique that works, though nobody really
- understands why. More obscure than {voodoo programming}, which
- may be done by cookbook. Compare also {black art}, {deep
- magic}, and {magic number} (sense 2).
-
- blast: 1. vt.,n. Synonym for {BLT}, used esp. for large data
- sends over a network or comm line. Opposite of {snarf}. Usage:
- uncommon. The variant `blat' has been reported. 2. vt.
- [HP/Apollo] Synonymous with {nuke} (sense 3). Sometimes the
- message `Unable to kill all processes. Blast them (y/n)?' would
- appear in the command window upon logout.
-
- blat: n. 1. Syn. {blast}, sense 1. 2. See {thud}.
-
- bletch: /blech/ [from Yiddish/German `brechen', to vomit, poss.
- via comic-strip exclamation `blech'] interj. Term of disgust.
- Often used in "Ugh, bletch". Compare {barf}.
-
- bletcherous: /blech'*-r*s/ adj. Disgusting in design or function;
- esthetically unappealing. This word is seldom used of people.
- "This keyboard is bletcherous!" (Perhaps the keys don't work very
- well, or are misplaced.) See {losing}, {cretinous},
- {bagbiter}, {bogus}, and {random}. The term {bletcherous}
- applies to the esthetics of the thing so described; similarly for
- {cretinous}. By contrast, something that is `losing' or
- `bagbiting' may be failing to meet objective criteria. See also
- {bogus} and {random}, which have richer and wider shades of
- meaning than any of the above.
-
- blinkenlights: /blink'*n-li:tz/ n. Front-panel diagnostic lights
- on a computer, esp. a {dinosaur}. Derives from the last word of
- the famous
- blackletter-Gothic
- sign in mangled pseudo-German that once graced about half the
- computer rooms in the English-speaking world. One version ran in
- its entirety as follows:
-
- ACHTUNG! ALLES LOOKENSPEEPERS!
- Das computermachine ist nicht fuer gefingerpoken und mittengrabben.
- Ist easy schnappen der springenwerk, blowenfusen und poppencorken
- mit spitzensparken. Ist nicht fuer gewerken bei das dumpkopfen.
- Das rubbernecken sichtseeren keepen das cotten-pickenen hans in das
- pockets muss; relaxen und watchen das blinkenlichten.
-
-
- This silliness dates back at least as far as 1959 at Stanford
- University and had already gone international by the early 1960s,
- when it was reported at London University's ATLAS computing site.
- There are several variants of it in circulation, some of which
- actually do end with the word `blinkenlights'.
-
- In an amusing example of turnabout-is-fair-play, German hackers
- have developed their own versions of the blinkenlights poster in
- fractured English, one of which is reproduced here:
-
- ATTENTION
- This room is fullfilled mit special electronische equippment.
- Fingergrabbing and pressing the cnoeppkes from the computers is
- allowed for die experts only! So all the "lefthanders" stay away
- and do not disturben the brainstorming von here working
- intelligencies. Otherwise you will be out thrown and kicked
- anderswhere! Also: please keep still and only watchen astaunished
- the blinkenlights.
-
- See also {geef}.
-
- blit: /blit/ vt. 1. To copy a large array of bits from one part
- of a computer's memory to another part, particularly when the
- memory is being used to determine what is shown on a display
- screen. "The storage allocator picks through the table and copies
- the good parts up into high memory, and then blits it all back
- down again." See {bitblt}, {BLT}, {dd}, {cat},
- {blast}, {snarf}. More generally, to perform some operation
- (such as toggling) on a large array of bits while moving them.
- 2. All-capitalized as `BLIT': an early experimental bit-mapped
- terminal designed by Rob Pike at Bell Labs, later commercialized as
- the AT&T 5620. (The folk etymology from `Bell Labs Intelligent
- Terminal' is incorrect.)
-
- blitter: /blit'r/ n. A special-purpose chip or hardware system
- built to perform {blit} operations, esp. used for fast
- implementation of bit-mapped graphics. The Commodore Amiga and a
- few other micros have these, but in 1991 the trend is away from
- them (however, see {cycle of reincarnation}). Syn. {raster
- blaster}.
-
- blivet: /bliv'*t/ [allegedly from a World War II military term
- meaning "ten pounds of manure in a five-pound bag"] n. 1. An
- intractable problem. 2. A crucial piece of hardware that can't be
- fixed or replaced if it breaks. 3. A tool that has been hacked
- over by so many incompetent programmers that it has become an
- unmaintainable tissue of hacks. 4. An out-of-control but
- unkillable development effort. 5. An embarrassing bug that pops up
- during a customer demo.
-
- This term has other meanings in other technical cultures; among
- experimental physicists and hardware engineers of various kinds it
- seems to mean any random object of unknown purpose (similar to
- hackish use of {frob}). It has also been used to describe an
- amusing trick-the-eye drawing resembling a three-pronged fork that
- appears to depict a three-dimensional object until one realizes that
- the parts fit together in an impossible way.
-
- block: [from process scheduling terminology in OS theory] 1. vi.
- To delay or sit idle while waiting for something. "We're blocking
- until everyone gets here." Compare {busy-wait}. 2. `block
- on' vt. To block, waiting for (something). "Lunch is blocked on
- Phil's arrival."
-
- block transfer computations: n. From the television series
- "Dr. Who", in which it referred to computations so fiendishly
- subtle and complex that they could not be performed by machines.
- Used to refer to any task that should be expressible as an
- algorithm in theory, but isn't.
-
- blow an EPROM: /bloh *n ee'prom/ v. (alt. `blast an EPROM',
- `burn an EPROM') To program a read-only memory, e.g. for use
- with an embedded system. This term arises because the programming
- process for the Programmable Read-Only Memories (PROMs) that
- preceded present-day Erasable Programmable Read-Only Memories
- (EPROMs) involved intentionally blowing tiny electrical fuses on
- the chip. Thus, one was said to `blow' (or `blast') a PROM, and
- the terminology carried over even though the write process on
- EPROMs is nondestructive.
-
- blow away: vt. To remove (files and directories) from permanent
- storage, generally by accident. "He reformatted the wrong
- partition and blew away last night's netnews." Oppose {nuke}.
-
- blow out: vi. Of software, to fail spectacularly; almost as serious
- as {crash and burn}. See {blow past}, {blow up}.
-
- blow past: vt. To {blow out} despite a safeguard. "The server blew
- past the 5K reserve buffer."
-
- blow up: vi. 1. [scientific computation] To become unstable. Suggests
- that the computation is diverging so rapidly that it will soon
- overflow or at least go {nonlinear}. 2. Syn. {blow out}.
-
- BLT: /B-L-T/, /bl*t/ or (rarely) /belt/ n.,vt. Synonym for
- {blit}. This is the original form of {blit} and the ancestor
- of {bitblt}. It referred to any large bit-field copy or move
- operation (one resource-intensive memory-shuffling operation done
- on pre-paged versions of ITS, WAITS, and TOPS-10 was sardonically
- referred to as `The Big BLT'). The jargon usage has outlasted the
- {PDP-10} BLock Transfer instruction from which {BLT} derives;
- nowadays, the assembler mnemonic {BLT} almost always means
- `Branch if Less Than zero'.
-
- Blue Book: n. 1. Informal name for one of the three standard
- references on the page-layout and graphics-control language
- PostScript (`PostScript Language Tutorial and Cookbook', Adobe
- Systems, Addison-Wesley 1985, QA76.73.P67P68, ISBN 0-201-10179-3);
- the other two official guides are known as the {Green Book} and
- {Red Book}. 2. Informal name for one of the three standard
- references on Smalltalk: `Smalltalk-80: The Language and its
- Implementation', David Robson, Addison-Wesley 1983, QA76.8.S635G64,
- ISBN 0-201-11371-63 (this is also associated with green and red
- books). 3. Any of the 1988 standards issued by the CCITT's
- ninth plenary assembly. Until now, they have changed color each review
- cycle (1984 was {Red Book}, 1992 would be {Green Book}); however,
- it is rumored that this convention is going to be dropped before 1992.
- These include, among other things, the X.400 email spec and
- the Group 1 through 4 fax standards. See also {{book titles}}.
-
- Blue Glue: [IBM] n. IBM's SNA (Systems Network Architecture), an
- incredibly {losing} and {bletcherous} communications protocol
- widely favored at commercial shops that don't know any better. The
- official IBM definition is "that which binds blue boxes
- together." See {fear and loathing}. It may not be irrelevant
- that {Blue Glue} is the trade name of a 3M product that is
- commonly used to hold down the carpet squares to the removable
- panel floors common in {dinosaur pens}. A correspondent at
- U. Minn. reports that the CS department there has about 80 bottles
- of the stuff hanging about, so they often refer to any messy work
- to be done as `using the blue glue'.
-
- blue goo: n. Term for `police' {nanobot}s intended to prevent
- {gray goo}, denature hazardous waste, destroy pollution, put
- ozone back into the stratosphere, prevent halitosis, and promote
- truth, justice, and the American way, etc. See
- {{nanotechnology}}.
-
- BNF: /B-N-F/ n. 1. [techspeak] Acronym for `Backus-Naur Form', a
- metasyntactic notation used to specify the syntax of programming
- languages, command sets, and the like. Widely used for language
- descriptions but seldom documented anywhere, so that it must
- usually be learned by osmosis from other hackers. Consider this
- BNF for a U.S. postal address:
-
- <postal-address> ::= <name-part> <street-address> <zip-part>
-
- <personal-part> ::= <name> | <initial> "."
-
- <name-part> ::= <personal-part> <last-name> [<jr-part>] <EOL>
- | <personal-part> <name-part>
-
- <street-address> ::= [<apt>] <house-num> <street-name> <EOL>
-
- <zip-part> ::= <town-name> "," <state-code> <ZIP-code> <EOL>
-
- This translates into English as: "A postal-address consists of a
- name-part, followed by a street-address part, followed by a
- zip-code part. A personal-part consists of either a first name or
- an initial followed by a dot. A name-part consists of either: a
- personal-part followed by a last name followed by an optional
- `jr-part' (Jr., Sr., or dynastic number) and end-of-line, or a
- personal part followed by a name part (this rule illustrates the
- use of recursion in BNFs, covering the case of people who use
- multiple first and middle names and/or initials). A street address
- consists of an optional apartment specifier, followed by a street
- number, followed by a street name. A zip-part consists of a
- town-name, followed by a comma, followed by a state code, followed
- by a ZIP-code followed by an end-of-line." Note that many things
- (such as the format of a personal-part, apartment specifier, or
- ZIP-code) are left unspecified. These are presumed to be obvious
- from context or detailed somewhere nearby. See also {parse}.
- 2. The term is also used loosely for any number of variants and
- extensions, possibly containing some or all of the {regexp}
- wildcards such as `*' or `+'. In fact the example above
- isn't the pure form invented for the Algol-60 report; it uses
- `[]', which was introduced a few years later in IBM's PL/I
- definition but is now universally recognized. 3. In
- {{science-fiction fandom}}, BNF means `Big-Name Fan'
- (someone famous or notorious). Years ago a fan started handing out
- black-on-green BNF buttons at SF conventions; this confused the
- hacker contingent terribly.
-
- boa: [IBM] n. Any one of the fat cables that lurk under the floor
- in a {dinosaur pen}. Possibly so called because they display a
- ferocious life of their own when you try to lay them straight and
- flat after they have been coiled for some time. It is rumored
- within IBM that channel cables for the 370 are limited to 200 feet
- because beyond that length the boas get dangerous --- and it is
- worth noting that one of the major cable makers uses the trademark
- `Anaconda'.
-
- board: n. 1. In-context synonym for {bboard}; sometimes used
- even for USENET newsgroups. 2. An electronic circuit board
- (compare {card}).
-
- boat anchor: n. 1. Like {doorstop} but more severe; implies that
- the offending hardware is irreversibly dead or useless. "That was
- a working motherboard once. One lightning strike later, instant
- boat anchor!" 2. A person who just takes up space.
-
- bogo-sort: /boh`goh-sort'/ n. (var. `stupid-sort') The
- archetypical perversely awful algorithm (as opposed to {bubble
- sort}, which is merely the generic *bad* algorithm).
- Bogo-sort is equivalent to repeatedly throwing a deck of cards in
- the air, picking them up at random, and then testing whether they
- are in order. It serves as a sort of canonical example of
- awfulness. Looking at a program and seeing a dumb algorithm, one
- might say "Oh, I see, this program uses bogo-sort." Compare
- {bogus}, {brute force}.
-
- bogometer: /boh-gom'-*t-er/ n. See {bogosity}. Compare the
- `wankometer' described in the {wank} entry; see also
- {bogus}.
-
- bogon: /boh'gon/ [by analogy with proton/electron/neutron, but
- doubtless reinforced after 1980 by the similarity to Douglas
- Adams's `Vogons'; see the Bibliography] n. 1. The elementary particle of
- bogosity (see {quantum bogodynamics}). For instance, "the
- Ethernet is emitting bogons again" means that it is broken or
- acting in an erratic or bogus fashion. 2. A query packet sent from
- a TCP/IP domain resolver to a root server, having the reply bit set
- instead of the query bit. 3. Any bogus or incorrectly formed
- packet sent on a network. 4. By synecdoche, used to refer to any
- bogus thing, as in "I'd like to go to lunch with you but I've got
- to go to the weekly staff bogon". 5. A person who is bogus or who
- says bogus things. This was historically the original usage, but
- has been overtaken by its derivative senses 1--4. See
- also {bogosity}, {bogus}; compare {psyton}.
-
- bogon filter: /boh'gon fil'tr/ n. Any device, software or hardware,
- that limits or suppresses the flow and/or emission of bogons.
- "Engineering hacked a bogon filter between the Cray and
- the VAXen, and now we're getting fewer dropped packets." See
- also {bogosity}, {bogus}.
-
- bogon flux: /boh'gon fluhks/ n. A measure of a supposed field of
- {bogosity} emitted by a speaker, measured by a {bogometer};
- as a speaker starts to wander into increasing bogosity a listener
- might say "Warning, warning, bogon flux is rising". See
- {quantum bogodynamics}.
-
- bogosity: /boh-go's*-tee/ n. 1. The degree to which something is
- {bogus}. At CMU, bogosity is measured with a {bogometer}; in
- a seminar, when a speaker says something bogus, a listener might
- raise his hand and say "My bogometer just triggered". More
- extremely, "You just pinned my bogometer" means you just said
- or did something so outrageously bogus that it is off the scale,
- pinning the bogometer needle at the highest possible reading (one
- might also say "You just redlined my bogometer"). The
- agreed-upon unit of bogosity is the microLenat /mi:k`roh-len'*t/
- (uL).
- The consensus is that this is the largest unit practical
- for everyday use. 2. The potential field generated by a {bogon
- flux}; see {quantum bogodynamics}. See also {bogon flux},
- {bogon filter}, {bogus}.
-
- Historical note: The microLenat was invented as a attack against
- noted computer scientist Doug Lenat by a {tenured graduate
- student}. Doug had failed the student on an important exam for
- giving only "AI is bogus" as his answer to the questions. The
- slur is generally considered unmerited, but it has become a running
- gag nevertheless. Some of Doug's friends argue that *of
- course* a microLenat is bogus, since it is only one millionth of a
- Lenat. Others have suggested that the unit should be redesignated
- after the grad student, as the microReid.
-
- bogotify: /boh-go't*-fi:/ vt. To make or become bogus. A
- program that has been changed so many times as to become completely
- disorganized has become bogotified. If you tighten a nut too hard
- and strip the threads on the bolt, the bolt has become bogotified
- and you had better not use it any more. This coinage led to the
- notional `autobogotiphobia' defined as `the fear of becoming
- bogotified'; but is not clear that the latter has ever been
- `live' jargon rather than a self-conscious joke in jargon about
- jargon. See also {bogosity}, {bogus}.
-
- bogue out: /bohg owt/ vi. To become bogus, suddenly and
- unexpectedly. "His talk was relatively sane until somebody asked
- him a trick question; then he bogued out and did nothing but
- {flame} afterwards." See also {bogosity}, {bogus}.
-
- bogus: adj. 1. Non-functional. "Your patches are bogus."
- 2. Useless. "OPCON is a bogus program." 3. False. "Your
- arguments are bogus." 4. Incorrect. "That algorithm is bogus."
- 5. Unbelievable. "You claim to have solved the halting problem
- for Turing Machines? That's totally bogus." 6. Silly. "Stop
- writing those bogus sagas."
-
- Astrology is bogus. So is a bolt that is obviously about to break.
- So is someone who makes blatantly false claims to have solved a
- scientific problem. (This word seems to have some, but not all, of
- the connotations of {random} --- mostly the negative ones.)
-
- It is claimed that `bogus' was originally used in the hackish sense
- at Princeton in the late 1960s. It was spread to CMU and Yale by
- Michael Shamos, a migratory Princeton alumnus. A glossary of bogus
- words was compiled at Yale when the word was first popularized (see
- {autobogotiphobia} under {bogotify}). The word spread into
- hackerdom from CMU and MIT. By the early 1980s it was also
- current in something like the hackish sense in West Coast teen
- slang, and it had gone mainstream by 1985. A correspondent from
- Cambridge reports, by contrast, that these uses of `bogus' grate on
- British nerves; in Britain the word means, rather specifically,
- `counterfeit', as in "a bogus 10-pound note".
-
- Bohr bug: /bohr buhg/ [from quantum physics] n. A repeatable
- {bug}; one that manifests reliably under a possibly unknown but
- well-defined set of conditions. Antonym of {heisenbug}; see also
- {mandelbug}.
-
- boink: /boynk/ [USENET: ascribed there to the TV series
- "Cheers" and "Moonlighting"] 1. To have sex with;
- compare {bounce}, sense 3. (This is mainstream slang.) In
- Commonwealth hackish the variant `bonk' is more common. 2. After
- the original Peter Korn `Boinkon' {USENET} parties, used for
- almost any net social gathering, e.g., Miniboink, a small boink
- held by Nancy Gillett in 1988; Minniboink, a Boinkcon in Minnesota
- in 1989; Humpdayboinks, Wednesday get-togethers held in the San
- Francisco Bay Area. Compare {@-party}. 3. Var of `bonk';
- see {bonk/oif}.
-
- bomb: 1. v. General synonym for {crash} (sense 1) except that it
- is not used as a noun; esp. used of software or OS failures.
- "Don't run Empire with less than 32K stack, it'll bomb."
- 2. n.,v. Atari ST and Macintosh equivalents of a UNIX `panic' or
- Amiga {guru} (sense 2), where icons of little black-powder bombs
- or mushroom clouds are displayed, indicating that the system has died.
- On the Mac, this may be accompanied by a decimal (or occasionally
- hexadecimal) number indicating what went wrong, similar to the
- Amiga GURU MEDITATION number (see {guru}). {{MS-DOS}} machines
- tend to get {locked up} in this situation.
-
- bondage-and-discipline language: A language (such as Pascal, Ada,
- APL, or Prolog) that, though ostensibly general-purpose, is designed
- so as to enforce an author's theory of `right programming' even
- though said theory is demonstrably inadequate for systems hacking
- or even vanilla general-purpose programming. Often abbreviated
- `B&D'; thus, one may speak of things "having the B&D nature".
- See {{Pascal}}; oppose {languages of choice}.
-
- bonk/oif: /bonk/, /oyf/ interj. In the {MUD} community, it has
- become traditional to express pique or censure by `bonking' the
- offending person. There is a convention that one should
- acknowledge a bonk by saying `oif!' and a myth to the effect that
- failing to do so upsets the cosmic bonk/oif balance, causing much
- trouble in the universe. Some MUDs have implemented special
- commands for bonking and oifing. See also {talk mode},
- {posing}.
-
- book titles:: There is a tradition in hackerdom of informally
- tagging important textbooks and standards documents with the
- dominant color of their covers or with some other conspicuous
- feature of the cover. Many of these are described in this lexicon
- under their own entries. See {Aluminum Book}, {Blue Book},
- {Cinderella Book}, {Devil Book}, {Dragon Book}, {Green
- Book}, {Orange Book}, {Pink-Shirt Book}, {Purple Book},
- {Red Book}, {Silver Book}, {White Book}, {Wizard Book},
- {Yellow Book}, and {bible}.
-
- boot: [techspeak; from `by one's bootstraps'] v.,n. To load and
- initialize the operating system on a machine. This usage is no
- longer jargon (having passed into techspeak) but has given rise to
- some derivatives that are still jargon.
-
- The derivative `reboot' implies that the machine hasn't been
- down for long, or that the boot is a {bounce} intended to clear
- some state of {wedgitude}. This is sometimes used of human
- thought processes, as in the following exchange: "You've lost
- me." "OK, reboot. Here's the theory...."
-
- This term is also found in the variants `cold boot' (from
- power-off condition) and `warm boot' (with the CPU and all
- devices already powered up, as after a hardware reset or software
- crash).
-
- Another variant: `soft boot', reinitialization of only part of a
- system, under control of other software still running: "If
- you're running the {mess-dos} emulator, control-alt-insert will
- cause a soft-boot of the emulator, while leaving the rest of the
- system running."
-
- Opposed to this there is `hard boot', which connotes hostility
- towards or frustration with the machine being booted: "I'll have
- to hard-boot this losing Sun." "I recommend booting it hard."
-
- Historical note: this term derives from `bootstrap loader', a short
- program that was read in from cards or paper tape, or toggled in
- from the front panel switches. This program was always very short
- (great efforts were expended on making it short in order to
- minimize the labor and chance of error involved in toggling it in),
- but was just smart enough to read in a slightly more complex
- program (usually from a card or paper tape reader), to which it
- handed control; this program in turn was smart enough to read the
- application or operating system from a magnetic tape drive or disk
- drive. Thus, in successive steps, the computer `pulled itself up
- by its bootstraps' to a useful operating state. Nowadays the
- bootstrap is usually found in ROM or EPROM, and reads the first
- stage in from a fixed location on the disk, called the `boot
- block'. When this program gains control, it is powerful enough to
- load the actual OS and hand control over to it.
-
- bottom-up implementation: n. Hackish opposite of the techspeak term
- `top-down design'. It is now received wisdom in most
- programming cultures that it is best to design from higher levels
- of abstraction down to lower, specifying sequences of action in
- increasing detail until you get to actual code. Hackers often find
- (especially in exploratory designs that cannot be closely
- specified in advance) that it works best to *build* things in
- the opposite order, by writing and testing a clean set of primitive
- operations and then knitting them together.
-
- bounce: v. 1. [perhaps from the image of a thrown ball bouncing
- off a wall] An electronic mail message that is undeliverable and
- returns an error notification to the sender is said to `bounce'.
- See also {bounce message}. 2. [Stanford] To play volleyball.
- At the now-demolished {D. C. Power Lab} building used by the
- Stanford AI Lab in the 1970s, there was a volleyball court on the
- front lawn. From 5 P.M. to 7 P.M. was the scheduled
- maintenance time for the computer, so every afternoon at 5 the
- computer would become unavailable, and over the intercom a voice
- would cry, "Now hear this: bounce, bounce!" followed by Brian
- McCune loudly bouncing a volleyball on the floor outside the
- offices of known volleyballers. 3. To engage in sexual
- intercourse; prob. from the expression `bouncing the mattress',
- but influenced by Piglet's psychosexually loaded "Bounce on me
- too, Tigger!" from the "Winnie-the-Pooh" books. Compare
- {boink}. 4. To casually reboot a system in order to clear up a
- transient problem. Reported primarily among {VMS} users.
- 5. [IBM] To {power cycle} a peripheral in order to reset it.
-
- bounce message: [UNIX] n. Notification message returned to sender by
- a site unable to relay {email} to the intended {{Internet address}}
- recipient or the next link in a {bang path} (see {bounce}).
- Reasons might include a nonexistent or misspelled username or a
- {down} relay site. Bounce messages can themselves fail, with
- occasionally ugly results; see {sorcerer's apprentice mode}.
- The term `bounce mail' is also common.
-
- box: n. 1. A computer; esp. in the construction `foo box'
- where foo is some functional qualifier, like `graphics', or
- the name of an OS (thus, `UNIX box', `MS-DOS box', etc.) "We
- preprocess the data on UNIX boxes before handing it up to the
- mainframe." 2. [within IBM] Without qualification but within an
- SNA-using site, this refers specifically to an IBM front-end
- processor or FEP /F-E-P/. An FEP is a small computer necessary
- to enable an IBM {mainframe} to communicate beyond the limits of
- the {dinosaur pen}. Typically used in expressions like the cry
- that goes up when an SNA network goes down: "Looks like the
- {box} has fallen over." (See {fall over}.) See also
- {IBM}, {fear and loathing}, {fepped out}, {Blue
- Glue}.
-
- boxed comments: n. Comments (explanatory notes attached to program
- instructions) that occupy several lines by themselves; so called
- because in assembler and C code they are often surrounded by a box
- in a style something like this:
-
- /*************************************************
- *
- * This is a boxed comment in C style
- *
- *************************************************/
-
- Common variants of this style omit the asterisks in column 2 or add
- a matching row of asterisks closing the right side of the box. The
- sparest variant omits all but the comment delimiters themselves;
- the `box' is implied. Oppose {winged comments}.
-
- boxen: /bok'sn/ [by analogy with {VAXen}] pl.n. Fanciful
- plural of {box} often encountered in the phrase `UNIX boxen',
- used to describe commodity {{UNIX}} hardware. The connotation is
- that any two UNIX boxen are interchangeable.
-
- boxology: /bok-sol'*-jee/ n. Syn. {ASCII art}. This term
- implies a more restricted domain, that of box-and-arrow drawings.
- "His report has a lot of boxology in it." Compare
- {macrology}.
-
- bozotic: /boh-zoh'tik/ or /boh-zo'tik/ [from the name of a TV
- clown even more losing than Ronald McDonald] adj. Resembling or
- having the quality of a bozo; that is, clownish, ludicrously wrong,
- unintentionally humorous. Compare {wonky}, {demented}. Note
- that the noun `bozo' occurs in slang, but the mainstream
- adjectival form would be `bozo-like' or (in New England)
- `bozoish'.
-
- BQS: /B-Q-S/ adj. Syn. {Berkeley Quality Software}.
-
- brain dump: n. The act of telling someone everything one knows
- about a particular topic or project. Typically used when someone
- is going to let a new party maintain a piece of code. Conceptually
- analogous to an operating system {core dump} in that it saves a
- lot of useful {state} before an exit. "You'll have to
- give me a brain dump on FOOBAR before you start your new job at
- HackerCorp." See {core dump} (sense 4). At Sun, this is also
- known as `TOI' (transfer of information).
-
- brain-damaged: 1. [generalization of `Honeywell Brain Damage'
- (HBD), a theoretical disease invented to explain certain utter
- cretinisms in Honeywell {{Multics}}] adj. Obviously wrong;
- {cretinous}; {demented}. There is an implication that the
- person responsible must have suffered brain damage, because he
- should have known better. Calling something brain-damaged is
- really bad; it also implies it is unusable, and that its failure to
- work is due to poor design rather than some accident. "Only six
- monocase characters per file name? Now *that's*
- brain-damaged!" 2. [esp. in the Mac world] May refer to free
- demonstration software that has been deliberately crippled in some
- way so as not to compete with the commercial product it is
- intended to sell. Syn. {crippleware}.
-
- brain-dead: adj. Brain-damaged in the extreme. It tends to imply
- terminal design failure rather than malfunction or simple
- stupidity. "This comm program doesn't know how to send a break
- --- how brain-dead!"
-
- braino: /bray'no/ n. Syn. for {thinko}.
-
- branch to Fishkill: [IBM: from the location of one of the
- corporation's facilities] n. Any unexpected jump in a program that
- produces catastrophic or just plain weird results. See {jump
- off into never-never land}, {hyperspace}.
-
- brand brand brand: n. Humorous catch-phrase from {BartleMUD}s, in
- which players were described carrying a list of objects, the most
- common of which would usually be a brand. Often used as a joke in
- {talk mode} as in "Fred the wizard is here, carrying brand ruby
- brand brand brand kettle broadsword flamethrower". A brand is a
- torch, of course; one burns up a lot of those exploring dungeons.
- Prob. influenced by the famous Monty Python "Spam" skit.
-
- break: 1. vt. To cause to be broken (in any sense). "Your latest
- patch to the editor broke the paragraph commands." 2. v. (of a
- program) To stop temporarily, so that it may debugged. The place
- where it stops is a `breakpoint'. 3. [techspeak] vi. To send an
- RS-232 break (125 msec of line high) over a serial comm line.
- 4. [UNIX] vi. To strike whatever key currently causes the tty
- driver to send SIGINT to the current process. Normally, break
- (sense 3) or delete does this. 5. `break break' may be said to
- interrupt a conversation (this is an example of verb doubling).
-
- breath-of-life packet: [XEROX PARC] n. An Ethernet packet that
- contained bootstrap (see {boot}) code, periodically sent out
- from a working computer to infuse the `breath of life' into any
- computer on the network that had happened to crash. The machines
- had hardware or firmware that would wait for such a packet after a
- catastrophic error.
-
- breedle: n. See {feep}.
-
- bring X to its knees: v. To present a machine, operating system,
- piece of software, or algorithm with a load so extreme or
- {pathological} that it grinds to a halt. "To bring a MicroVAX
- to its knees, try twenty users running {vi} --- or four running
- {EMACS}." Compare {hog}.
-
- brittle: adj. Said of software that is functional but easily broken
- by changes in operating environment or configuration, or by any
- minor tweak to the software itself. Also, any system that
- responds inappropriately and disastrously to expected external
- stimuli; e.g., a file system that is usually totally scrambled by a
- power failure is said to be brittle. This term is often used to
- describe the results of a research effort that were never intended
- to be robust, but it can be applied to commercially developed
- software, which displays the quality far more often than it ought
- to. Oppose {robust}.
-
- broadcast storm: n. An incorrect packet broadcast on a network that
- causes most hosts to respond all at once, typically with wrong
- answers that start the process over again. See {network
- meltdown}.
-
- broken: adj. 1. Not working properly (of programs). 2. Behaving
- strangely; especially (when used of people) exhibiting extreme
- depression.
-
- broken arrow: [IBM] n. The error code displayed on line 25 of a
- 3270 terminal (or a PC emulating a 3270) for various kinds of
- protocol violations and "unexpected" error conditions (including
- connection to a {down} computer). On a PC, simulated with
- `->/_', with the two center characters overstruck. In true
- {luser} fashion, the original documentation of these codes
- (visible on every 3270 terminal, and necessary for debugging
- network problems) was confined to an IBM customer engineering
- manual.
-
- Note: to appreciate this term fully, it helps to know that `broken
- arrow' is also military jargon for an accident involving nuclear
- weapons....
-
- broket: /broh'k*t/ or /broh'ket`/ [by analogy with `bracket': a
- `broken bracket'] n. Either of the characters `<' and `>',
- when used as paired enclosing delimiters. This word
- originated as a contraction of the phrase `broken bracket', that
- is, a bracket that is bent in the middle. (At MIT, and apparently
- in the {Real World} as well, these are usually called {angle
- brackets}.)
-
- Brooks's Law: prov. "Adding manpower to a late software project
- makes it later" --- a result of the fact that the advantage from
- splitting work among N programmers is O(N) (that is,
- proportional to N), but the complexity and communications
- cost associated with coordinating and then merging their work
- is O(N^2) (that is, proportional to the square of N).
- The quote is from Fred Brooks, a manager of IBM's OS/360 project
- and author of `The Mythical Man-Month' (Addison-Wesley, 1975,
- ISBN 0-201-00650-2), an excellent early book on software
- engineering. The myth in question has been most tersely expressed
- as "Programmer time is fungible" and Brooks established
- conclusively that it is not. Hackers have never forgotten his
- advice; too often, {management} does. See also
- {creationism}, {second-system effect}.
-
- BRS: /B-R-S/ n. Syn. {Big Red Switch}. This abbreviation is
- fairly common on-line.
-
- brute force: adj. Describes a primitive programming style, one in
- which the programmer relies on the computer's processing power
- instead of using his or her own intelligence to simplify the problem,
- often ignoring problems of scale and applying na"ive methods suited
- to small problems directly to large ones.
-
- The {canonical} example of a brute-force algorithm is associated
- with the `traveling salesman problem' (TSP), a classical NP-hard
- problem: Suppose a person is in, say, Boston, and wishes to drive
- to N other cities. In what order should he or she visit
- them in order to minimize the distance travelled? The brute-force
- method is to simply generate all possible routes and compare the
- distances; while guaranteed to work and simple to implement, this
- algorithm is clearly very stupid in that it considers even
- obviously absurd routes (like going from Boston to Houston via San
- Francisco and New York, in that order). For very small N it
- works well, but it rapidly becomes absurdly inefficient when
- N increases (for N = 15, there are already
- 1,307,674,368,000 possible routes to consider, and for
- N = 1000 --- well, see {bignum}). See
- also {NP-}.
-
- A more simple-minded example of brute-force programming is finding
- the smallest number in a large list by first using an existing
- program to sort the list in ascending order, and then picking the
- first number off the front.
-
- Whether brute-force programming should be considered stupid or not
- depends on the context; if the problem isn't too big, the extra CPU
- time spent on a brute-force solution may cost less than the
- programmer time it would take to develop a more `intelligent'
- algorithm. Alternatively, a more intelligent algorithm may imply
- more long-term complexity cost and bug-chasing than are justified
- by the speed improvement.
-
- Ken Thompson, co-inventor of UNIX, is reported to have uttered the
- epigram "When in doubt, use brute force". He probably intended
- this as a {ha ha only serious}, but the original UNIX kernel's
- preference for simple, robust, and portable algorithms over
- {brittle} `smart' ones does seem to have been a significant
- factor in the success of that OS. Like so many other tradeoffs in
- software design, the choice between brute force and complex,
- finely-tuned cleverness is often a difficult one that requires both
- engineering savvy and delicate esthetic judgment.
-
- brute force and ignorance: n. A popular design technique at many
- software houses --- {brute force} coding unrelieved by any
- knowledge of how problems have been previously solved in elegant
- ways. Dogmatic adherence to design methodologies tends to
- encourage it. Characteristic of early {larval stage}
- programming; unfortunately, many never outgrow it. Often
- abbreviated BFI: "Gak, they used a bubble sort! That's strictly
- from BFI." Compare {bogosity}.
-
- BSD: /B-S-D/ n. [acronym for `Berkeley System Distribution'] a
- family of {{UNIX}} versions for the DEC {VAX} and PDP-11
- developed by Bill Joy and others at {Berzerkeley} starting around
- 1980, incorporating paged virtual memory, TCP/IP networking
- enhancements, and many other features. The BSD versions (4.1, 4.2,
- and 4.3) and the commercial versions derived from them (SunOS, ULTRIX,
- and Mt. Xinu) held the technical lead in the UNIX world until
- AT&T's successful standardization efforts after about 1986, and are
- still widely popular. See {{UNIX}}, {USG UNIX}.
-
- bubble sort: n. Techspeak for a particular sorting technique in
- which pairs of adjacent values in the list to be sorted are
- compared and interchanged if they are out of order; thus, list
- entries `bubble upward' in the list until they bump into one with a
- lower sort value. Because it is not very good relative to other
- methods and is the one typically stumbled on by {na"ive} and
- untutored programmers, hackers consider it the {canonical}
- example of a na"ive algorithm. The canonical example of a really
- *bad* algorithm is {bogo-sort}. A bubble sort might be used
- out of ignorance, but any use of bogo-sort could issue only from
- brain damage or willful perversity.
-
- bucky bits: /buh'kee bits/ n. 1. obs. The bits produced by the
- CONTROL and META shift keys on a SAIL keyboard, resulting in a
- 9-bit keyboard character set. The MIT AI TV (Knight) keyboards
- extended this with TOP and separate left and right CONTROL and META
- keys, resulting in a 12-bit character set; later, LISP Machines
- added such keys as SUPER, HYPER, and GREEK (see {space-cadet
- keyboard}). 2. By extension, bits associated with `extra' shift
- keys on any keyboard, e.g., the ALT on an IBM PC or command and
- option keys on a Macintosh.
-
- It is rumored that `bucky bits' were named for Buckminster Fuller
- during a period when he was consulting at Stanford. Actually,
- `Bucky' was Niklaus Wirth's nickname when *he* was at
- Stanford; he first suggested the idea of an EDIT key to set the
- 8th bit of an otherwise 7-bit ASCII character. This was used in a
- number of editors written at Stanford or in its environs (TV-EDIT
- and NLS being the best-known). The term spread to MIT and CMU
- early and is now in general use. See {double bucky},
- {quadruple bucky}.
-
- buffer overflow: n. What happens when you try to stuff more data
- into a buffer (holding area) than it can handle. This may be due
- to a mismatch in the processing rates of the producing and
- consuming processes (see {overrun}), or because the buffer is
- simply too small to hold all the data that must accumulate before a
- piece of it can be processed. For example, in a text-processing
- tool that {crunch}es a line at a time, a short line buffer can
- result in {lossage} as input from a long line overflows the
- buffer and trashes data beyond it. Good defensive programming
- would check for overflow on each character and stop accepting data
- when the buffer is full up. The term is used of and by humans in a
- metaphorical sense. "What time did I agree to meet you? My buffer
- must have overflowed." Or "If I answer that phone my buffer is
- going to overflow." See also {spam}, {overrun screw}.
-
- bug: n. An unwanted and unintended property of a program or hardware,
- esp. one that causes it to malfunction. Antonym of {feature}.
- Examples: "There's a bug in the editor: it writes things out
- backwards." "The system crashed because of a hardware bug."
- "Fred is a winner, but he has a few bugs" (i.e., Fred is a good
- guy, but he has a few personality problems).
-
- Historical note: Some have said this term came from telephone
- company usage, in which "bugs in a telephone cable" were blamed
- for noisy lines, but this appears to be an incorrect folk
- etymology. Admiral Grace Hopper (an early computing pioneer better
- known for inventing {COBOL}) liked to tell a story in which a
- technician solved a persistent {glitch} in the Harvard Mark II
- machine by pulling an actual insect out from between the
- contacts of one of its relays, and she subsequently promulgated
- {bug} in its hackish sense as a joke about the incident (though,
- as she was careful to admit, she was not there when it happened).
- For many years the logbook associated with the incident and the
- actual bug in question (a moth) sat in a display case at the Naval
- Surface Warfare Center. The entire story, with a picture of the
- logbook and the moth taped into it, is recorded in the `Annals of
- the History of Computing', Vol. 3, No. 3 (July 1981), pp. 285--286.
-
- The text of the log entry (from September 9, 1945), reads "1545
- Relay #70 Panel F (moth) in relay. First actual case of bug being
- found". This wording seems to establish that the term was already in use
- at the time in its current specific sense. Indeed, the use of
- `bug' to mean an industrial defect was already established in
- Thomas Edison's time, and `bug' in the sense of an disruptive event
- goes back to Shakespeare! In the first edition of Samuel Johnson's
- dictionary one meaning of `bug' is "A frightful object; a walking
- spectre"; this is traced to `bugbear', a Welsh term for a variety
- of mythological monster which (to complete the circle) has recently
- been reintroduced into the popular lexicon through fantasy
- role-playing games.
-
- In any case, in jargon the word almost never refers to insects.
- Here is a plausible conversation that never actually happened:
-
- "There is a bug in this ant farm!"
-
- "What do you mean? I don't see any ants in it."
-
- "That's the bug."
-
- [There has been a widespread myth that the original bug was moved
- to the Smithsonian, and an earlier version of this entry so
- asserted. A correspondent who thought to check discovered that the
- bug was not there. While investigating this, your editor
- discovered that the NSWC still had the bug, but had unsuccessfully
- tried to get the Smithsonian to accept it --- and that the present
- curator of the History of American Technology Museum didn't
- know this and agreed that it would make a worthwhile exhibit.
- Thus, the process of investigating the original-computer-bug bug
- may have fixed it in an entirely unexpected way, by making the myth
- true! --- ESR]
-
- bug-compatible: adj. Said of a design or revision that has been
- badly compromised by a requirement to be compatible with
- {fossil}s or {misfeature}s in other programs or (esp.)
- previous releases of itself. "MS-DOS 2.0 used \ as a path
- separator to be bug-compatible with some cretin's choice of / as an
- option character in 1.0."
-
- bug-for-bug compatible: n. Same as {bug-compatible}, with the
- additional implication that much tedious effort went into ensuring
- that each (known) bug was replicated.
-
- buglix: /buhg'liks/ n. Pejorative term referring to DEC's ULTRIX
- operating system in its earlier *severely* buggy versions.
- Still used to describe ULTRIX, but without venom. Compare
- {HP-SUX}.
-
- bulletproof: adj. Used of an algorithm or implementation considered
- extremely {robust}; lossage-resistant; capable of correctly
- recovering from any imaginable exception condition. This is a rare
- and valued quality. Syn. {armor-plated}.
-
- bum: 1. vt. To make highly efficient, either in time or space,
- often at the expense of clarity. "I managed to bum three more
- instructions out of that code." "I spent half the night bumming
- the interrupt code." 2. To squeeze out excess; to remove
- something in order to improve whatever it was removed from (without
- changing function; this distinguishes the process from a
- {featurectomy}). 3. n. A small change to an algorithm, program,
- or hardware device to make it more efficient. "This hardware bum
- makes the jump instruction faster." Usage: now uncommon, largely
- superseded by v. {tune} (and n. {tweak}, {hack}), though
- none of these exactly capture sense 2. All these uses are rare in
- Commonwealth hackish, because in the parent dialects of English
- `bum' is a rude synonym for `buttocks'.
-
- bump: vt. Synonym for increment. Has the same meaning as
- C's ++ operator. Used esp. of counter variables, pointers, and index
- dummies in `for', `while', and `do-while' loops.
-
- burble: [from Lewis Carroll's "Jabberwocky"] v. Like {flame},
- but connotes that the source is truly clueless and ineffectual
- (mere flamers can be competent). A term of deep contempt.
- "There's some guy on the phone burbling about how he got a DISK
- FULL error and it's all our comm software's fault."
-
- buried treasure: n. A surprising piece of code found in some
- program. While usually not wrong, it tends to vary from {crufty}
- to {bletcherous}, and has lain undiscovered only because it was
- functionally correct, however horrible it is. Used sarcastically,
- because what is found is anything *but* treasure. Buried
- treasure almost always needs to be dug up and removed. "I just
- found that the scheduler sorts its queue using {bubble sort}!
- Buried treasure!"
-
- burn-in period: n. 1. A factory test designed to catch systems
- with {marginal} components before they get out the door; the
- theory is that burn-in will protect customers by outwaiting the
- steepest part of the {bathtub curve} (see {infant
- mortality}). 2. A period of indeterminate length in which a person
- using a computer is so intensely involved in his project that he
- forgets basic needs such as food, drink, sleep, etc. Warning:
- Excessive burn-in can lead to burn-out. See {hack mode},
- {larval stage}.
-
- burst page: n. Syn. {banner}, sense 1.
-
- busy-wait: vi. Used of human behavior, conveys that the subject is
- busy waiting for someone or something, intends to move instantly as
- soon as it shows up, and thus cannot do anything else at the
- moment. "Can't talk now, I'm busy-waiting till Bill gets off the
- phone."
-
- Technically, `busy-wait' means to wait on an event by
- {spin}ning through a tight or timed-delay loop that polls for
- the event on each pass, as opposed to setting up an interrupt
- handler and continuing execution on another part of the task. This
- is a wasteful technique, best avoided on time-sharing systems where
- a busy-waiting program may {hog} the processor.
-
- buzz: vi. 1. Of a program, to run with no indication of progress
- and perhaps without guarantee of ever finishing; esp. said of
- programs thought to be executing tight loops of code. A program
- that is buzzing appears to be {catatonic}, but you never get out
- of catatonia, while a buzzing loop may eventually end of its own
- accord. "The program buzzes for about 10 seconds trying to sort
- all the names into order." See {spin}; see also {grovel}.
- 2. [ETA Systems] To test a wire or printed circuit trace for
- continuity by applying an AC rather than DC signal. Some wire
- faults will pass DC tests but fail a buzz test. 3. To process an
- array or list in sequence, doing the same thing to each element.
- "This loop buzzes through the tz array looking for a terminator
- type."
-
- BWQ: /B-W-Q/ [IBM: acronym, `Buzz Word Quotient'] The
- percentage of buzzwords in a speech or documents. Usually roughly
- proportional to {bogosity}. See {TLA}.
-
- by hand: adv. Said of an operation (especially a repetitive,
- trivial, and/or tedious one) that ought to be performed
- automatically by the computer, but which a hacker instead has to
- step tediously through. "My mailer doesn't have a command to
- include the text of the message I'm replying to, so I have to do it
- by hand." This does not necessarily mean the speaker has to
- retype a copy of the message; it might refer to, say, dropping into
- a {subshell} from the mailer, making a copy of one's mailbox file,
- reading that into an editor, locating the top and bottom of the
- message in question, deleting the rest of the file, inserting `>'
- characters on each line, writing the file, leaving the editor,
- returning to the mailer, reading the file in, and later remembering
- to delete the file. Compare {eyeball search}.
-
- byte:: /bi:t/ [techspeak] n. A unit of memory or data equal to
- the amount used to represent one character; on modern architectures
- this is usually 8 bits, but may be 9 on 36-bit machines. Some
- older architectures used `byte' for quantities of 6 or 7 bits, and
- the PDP-10 supported `bytes' that were actually bitfields of
- 1 to 36 bits! These usages are now obsolete, and even 9-bit bytes
- have become rare in the general trend toward power-of-2 word sizes.
-
- Historical note: The term originated in 1956 during the early
- design phase for the IBM Stretch computer; originally it was
- described as 1 to 6 bits (typical I/O equipment of the period
- used 6-bit chunks of information). The move to an 8-bit byte
- happened in late 1956, and this size was later adopted and
- promulgated as a standard by the System/360. The term `byte' was
- coined by mutating the word `bite' so it would not be accidentally
- misspelled as {bit}. See also {nybble}.
-
- bytesexual: /bi:t`sek'shu-*l/ adj. Said of hardware, denotes
- willingness to compute or pass data in either {big-endian} or
- {little-endian} format (depending, presumably, on a {mode bit}
- somewhere). See also {NUXI problem}.
-